package cn.broadsense.thrid.param;

import cn.broadsense.thrid.result.VideoExTractListResult;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 车辆以图搜图参数
 *
 * @author pengxin
 * @date 2022-12-01 16:16
 */
@NoArgsConstructor
@Data
public class VehicleImageSearchParam extends BasePageParam {
    private static final long serialVersionUID = 94426740995180060L;
    private ConditionParam condition;


    @Override
    public void checkParam() {

    }

    @Override
    public Class getResultClass() {
        return VideoExTractListResult.class;
    }


    @NoArgsConstructor
    @Data
    public static class ConditionParam {
        private String taskId;
        private String startTime;
        private String endTime;
        private BigDecimal threshold;
        private List<String> channelCodes;
        private String relatedFace;
        private List<ImagesParam> images;
        private List<String> multiPlateNums;
        private List<String> plateTypes;
        private List<String> carColors;
        private String carBrand;
        private String carType;
        private List<String> plateColors;
        private String extractedFlag;
        private String snapHeadstock;
        private String mobileCnt;
        private String lapbeltCnt;
        private String paperCnt;
        private String dropCnt;
        private String tagCnt;
        private String sunCnt;
        private String vehicleMode;

        @NoArgsConstructor
        @Data
        public static class ImagesParam {
            private String data;
            private String uri;
            private RectParam rect;

            @NoArgsConstructor
            @Data
            public static class RectParam {
                private Integer leftTopX;
                private Integer leftTopY;
                private Integer rightBtmX;
                private Integer rightBtmY;
            }
        }
    }
}
